iT邦幫忙

2024 iThome 鐵人賽

DAY 7
0
Python

進擊的Python系列 第 7

Day7-集合與字典(里維)

  • 分享至 

  • xImage
  •  

大家好!我是里維兵長~我分享Python集合與字典

https://ithelp.ithome.com.tw/upload/images/20240818/20163257NEwngP4tqg.png
圖片來源:(https://www.niusnews.com/=P0f01wfw0)
https://ithelp.ithome.com.tw/upload/images/20240821/20163257Ty7cULRPLe.jpg
圖片來源:(https://memes.tw/wtf?template=24228#google_vignette)

集合

一種無序數據結構,集合中元素是唯一的,也可以多種應用。例如:可以使用集合去除重複元素、計算交集、聯集、差集和對稱差集

# 大括號建立集合
numbers = {1, 2, 3, 4, 5}

# set()建立集合
numbers = set([1, 2, 3, 4, 5])

執行操作

添加元素 使用 add() 函數
刪除元素 使用 remove() 函數
檢查元素是否存在 使用 in 運算符
迭代集合 使用 for 迴圈
# 添加元素
numbers.add(6)
print(numbers)   # {1, 2, 3, 4, 5, 6}

# 刪除元素
numbers.remove(3)
print(numbers)   # {1, 2, 4, 5, 6}

# 檢查元素是否存在
print(1 in numbers)   # True
print(7 in numbers)   # False

# 迭代集合
for number in numbers:
    print(number)

集合操作

交集 使用 & 運算符或 intersection()
聯集 使用運算符union()
差集 使用 - 運算符或 difference()
對稱差集 使用 ^ 運算符或 symmetric_difference()

註解:聯集運算符 |

# 交集
numbers1 = {1, 2, 3, 4, 5}
numbers2 = {2, 4, 6, 8}

intersection = numbers1 & numbers2
print(intersection)   # {2, 4}

# 聯集
union = numbers1 | numbers2
print(union)   # {1, 2, 3, 4, 5, 6, 8}

# 差集
difference = numbers1 - numbers2
print(difference)   # {1, 3, 5}

# 對稱差集
symmetric_difference = numbers1 ^ numbers2
print(symmetric_difference)   # {1, 3, 5, 6, 8}

字典

一種無序鍵值對數據結構,字典中元素由鍵和值組成,鍵必須是唯一的,但值可以是任意類型數據

# 使用大括號創建字典
numbers = {"one": 1, "two": 2, "three": 3, "four": 4, "five": 5}

# 使用 dict() 函數創建字典
numbers = dict([("one", 1), ("two", 2), ("three", 3), ("four", 4), ("five", 5)])

print(numbers) # {'one': 1, 'two': 2, 'three': 3, 'four': 4, 'five': 5}
print(numbers1) # {'one': 1, 'two': 2, 'three': 3, 'four': 4, 'five': 5}

執行操作

添加元素 使用 update() 函數
刪除元素 使用 del 語句或 pop() 函數
檢查元素是否存在 使用 in 運算符
迭代集合 使用 for 迴圈
# 添加元素
numbers.update({"six": 6})
print(numbers)   # {"one": 1, "two": 2, "three": 3, "four": 4, "five": 5, "six": 6}

# 刪除元素
del numbers["three"]
print(numbers)   # {"one": 1, "two": 2, "four": 4, "five": 5, "six": 6}

# 檢查元素是否存在
print("one" in numbers)   # True
print("seven" in numbers)   # False

# 迭代字典
for key, value in numbers.items():
    print(key, value)

字典操作

清空字典 使用 clear() 函數
獲取字典長度 使用 len() 函數
獲取字典所有鍵 使用 keys() 函數
獲取字典所有值 使用 values() 函數
獲取字典的所有鍵值對 使用 items() 函數
# 清空字典
numbers.clear()
print(numbers)   # {}

# 獲取字典的長度
print(len(numbers))   # 0

# 獲取字典的所有鍵
print(numbers.keys())   # []

# 獲取字典的所有值
print(numbers.values())   # []

# 獲取字典的所有鍵值對
print(numbers.items())   # []

請給我打掃乾淨!

https://ithelp.ithome.com.tw/upload/images/20240818/20163257vT8UGthdqx.png
圖片來源:(https://news.gamme.com.tw/719983)


上一篇
Day6-數字與字串(阿爾敏)
下一篇
Day8-條件式與迴圈(漢吉)
系列文
進擊的Python36
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言